/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;
import entidad.Persona;
import java.sql.*;
import java.util.Vector;
/**
 *
 * @author kabad
 */
public class ConsultasPersona{
private Connection con;

public boolean HLmodificarPersona(Persona val) throws SQLException{
return modificarPersona(val.getApellidos(), val.getCedula(), val.getCorreo(), val.getIdPersona(), val.getNombres(), val.getTituloAcademico());
}

public boolean eliminarPersona(int idPersona) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarPersona(?) ");
proc.setInt(1, idPersona);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarPersona(Persona val) throws SQLException{
return eliminarPersona(val.getIdPersona());
}

public Persona nuevoPersona(String apellidos, String cedula, String correo, String nombres, String tituloAcademico) throws SQLException{
Persona reg=new Persona();

PreparedStatement proc=con.prepareStatement(
"call nuevoPersona(?,?,?,?,?) ");
proc.setString(1, apellidos);
proc.setString(2, cedula);
proc.setString(3, correo);
proc.setString(4, nombres);
proc.setString(5, tituloAcademico);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setApellidos(rs.getString(1));
reg.setCedula(rs.getString(2));
reg.setCorreo(rs.getString(3));
reg.setIdPersona(rs.getInt(4));
reg.setNombres(rs.getString(5));
reg.setTituloAcademico(rs.getString(6));
}else reg=null;
return reg;


}

public void setConexion(Connection con) {
this.con=con;
}

public Persona HLnuevoPersona(Persona val) throws SQLException{
return nuevoPersona(val.getApellidos(), val.getCedula(), val.getCorreo(), val.getNombres(), val.getTituloAcademico());
}

public Persona leerPersona(int idPersona) throws SQLException{
Persona reg=new Persona();

PreparedStatement proc=con.prepareStatement(
"call leerPersona(?) ");
proc.setInt(1, idPersona);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setApellidos(rs.getString(1));
reg.setCedula(rs.getString(2));
reg.setCorreo(rs.getString(3));
reg.setIdPersona(rs.getInt(4));
reg.setNombres(rs.getString(5));
reg.setTituloAcademico(rs.getString(6));
reg.setUsuario(rs.getString(7));
}else reg=null;
return reg;


}

public Persona HLleerPersona(Persona val) throws SQLException{
return leerPersona(val.getIdPersona());
}

public Vector<Persona> leerVariosPersona() throws SQLException{
Vector<Persona> datos=new Vector<Persona>();
Persona reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosPersona() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Persona();
reg.setApellidos(rs.getString(1));
reg.setCedula(rs.getString(2));
reg.setCorreo(rs.getString(3));
reg.setIdPersona(rs.getInt(4));
reg.setNombres(rs.getString(5));
reg.setTituloAcademico(rs.getString(6));
datos.add(reg);
}//end while
return datos;


}

public Vector<Persona> HLleerVariosPersona(Persona val) throws SQLException{
return leerVariosPersona();
}

public boolean modificarPersona(String apellidos, String cedula, String correo, int idPersona, String nombres, String tituloAcademico) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarPersona(?,?,?,?,?,?) ");
proc.setString(1, apellidos);
proc.setString(2, cedula);
proc.setString(3, correo);
proc.setInt(4, idPersona);
proc.setString(5, nombres);
proc.setString(6, tituloAcademico);
proc.execute();
return exitoOperacion;


}
public Persona leerPersonaPorUsuario(String usuario, int idPersona) throws SQLException{
Persona reg=new Persona();

PreparedStatement proc=con.prepareStatement(
"call leerPersonaPorUsuario(?,?) ");
proc.setString(1, usuario);
proc.setInt(2, idPersona);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setApellidos(rs.getString(1));
reg.setCedula(rs.getString(2));
reg.setCorreo(rs.getString(3));
reg.setIdPersona(rs.getInt(4));
reg.setNombres(rs.getString(5));
reg.setTituloAcademico(rs.getString(6));
}else reg=null;
return reg;


}

}// FIN CLASE: ConsultasPersona